Many entities store data items on one or more databases. These databases often include tables with columns and rows. Each column in the table is associated with a particular data field. Entries in the table are organized in rows, with data corresponding to the entries stored in the columns for that particular row.
One problem often encountered with storing data in databases is effectively querying the data. In some instances, the data for a particular entity may be spread out across multiple database tables. When the data set is large and spread out across multiple database tables, querying the data to return useful results can become a complicated and daunting task. Additionally, since the relationship between different database tables may not be readily understood by the person generating the query, generating a query can be error-prone.